package com.dingreading.cloud.admin.service;

import com.dingreading.cloud.common.base.R;
import com.mybatisflex.core.service.IService;
import com.dingreading.cloud.admin.entity.CourseTrainTypes;

import javax.servlet.http.HttpServletRequest;

/**
 * 叮叮线下培训分类表 服务层。
 *
 * @author EDY
 * @since 2025-11-17
 */
public interface CourseTrainTypesService extends IService<CourseTrainTypes> {
    R<Object> getMainTypes(String headStaffUid, String headStaffName);

    R<Object> treeList(HttpServletRequest request, String headStaffUid, String headStaffName, String uid);

    R<Object> newMainType(String headStaffUid, String headStaffName, String uid, String typeName, Integer showOrder, Integer levelEnd);

    R<Object> newChildType(String headStaffUid, String headStaffName, String parentUid, String uid, String typeName, Integer levelEnd);

    R<Object> getByUid(HttpServletRequest request, String headStaffUid, String headStaffName, String uid);

    R<Object> updateEnabled(String headStaffUid, String headStaffName, String uid, Integer enabled);

    R<Object> dropData(String headStaffUid, String headStaffName, String uid);

    R<Object> upOrDown(String headStaffUid, String headStaffName, String uid, Integer type);

    CourseTrainTypes getInfoByUid(String mainTypeUid);

    R<Object> uploadExam(String headStaffUid, String headStaffName, String uid, String examRequire, String examUrl);
}
